package com.example.websocketdemo.service;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.example.websocketdemo.config.WebSocketTest;

import java.io.IOException;

public class FireFireService {

    public void f(String message) throws IOException {
        JSONObject transition = JSON.parseObject(message);
        String value = "";
        if (message.contains("消防火灾区域名称")) {
            value = (String) transition.get("消防火灾区域名称");
        } else if (message.contains("集水池")) {
            value = (String) transition.get("集水池");
        }
        if (message.contains("消防栓")) {
            fireHydrant((String) transition.get("消防栓"));
        } else {
            JSONObject jsonObject = new JSONObject();
            JSONObject xinxi = new JSONObject();
            JSONObject xinxi1 = new JSONObject();
            JSONObject xinxi2 = new JSONObject();
            JSONObject xinxi3 = new JSONObject();
            JSONObject xinxi4 = new JSONObject();

            JSONObject jsonObject3 = new JSONObject();
            JSONObject jishuichi = new JSONObject();
            JSONObject jishuichi1 = new JSONObject();
            JSONObject jishuichi2 = new JSONObject();
            JSONObject jishuichi3 = new JSONObject();
            JSONArray Array3 = new JSONArray();
            JSONArray Array = new JSONArray();
            jsonObject.put("instruction", "xiangfanghuozai");
            jsonObject3.put("instruction", "jishuichi");
            if (value.equals("消防泵房")) {
                xinxi.put("所属区域名称", "消防泵房");
                xinxi.put("设备名称", "消防水池");
                xinxi.put("指标名称", "LT8301B消防水池液位");
                xinxi.put("实时●数值", "1.88");
                xinxi.put("单位", "m");
                xinxi.put("低低报", "-");
                xinxi.put("低报", "-");
                xinxi.put("高报", "-");
                xinxi.put("高高报", "-");
                xinxi.put("量程下限", "-");
                xinxi.put("量程上限", "-");
                xinxi.put("位号", "SCADA_A_LT8301B");
                xinxi.put("issue", "false");

                xinxi1.put("所属区域名称", "消防泵房");
                xinxi1.put("设备名称", "消防水池");
                xinxi1.put("指标名称", "LT8301A消防水池液位");
                xinxi1.put("实时●数值", "2.20");
                xinxi1.put("单位", "m");
                xinxi1.put("低低报", "-");
                xinxi1.put("低报", "-");
                xinxi1.put("高报", "-");
                xinxi1.put("高高报", "-");
                xinxi1.put("量程下限", "-");
                xinxi1.put("量程上限", "-");
                xinxi1.put("位号", "SCADA_A_LT8301A");
                xinxi1.put("issue", "false");

                Array.add(xinxi);
                Array.add(xinxi4);
                jishuichi.put("所属区域名称", "消防泵房");
                jishuichi.put("集水池液位", "4.12m");
                Array3.add(jishuichi);
            } else if (value.equals("泡沫站")) {
                xinxi1.put("所属区域名称", "泡沫站");
                xinxi1.put("设备名称", "生活水池");
                xinxi1.put("指标名称", "LT8501生活水池液位");
                xinxi1.put("实时●数值", "2.15");
                xinxi1.put("单位", "m");
                xinxi1.put("低低报", "-");
                xinxi1.put("低报", "-");
                xinxi1.put("高报", "2");
                xinxi1.put("高高报", "-");
                xinxi1.put("量程下限", "0");
                xinxi1.put("量程上限", "10");
                xinxi1.put("位号", "SCADA_A_LT8501");
                xinxi1.put("issue", "false");
                Array.add(xinxi1);
                jishuichi1.put("所属区域名称", "泡沫站");
                jishuichi1.put("集水池液位", "3.12m");
                Array3.add(jishuichi1);
            } else if (value.equals("应急水池站")) {
                xinxi2.put("所属区域名称", "应急水池站");
                xinxi2.put("设备名称", "雨水收集池");
                xinxi2.put("指标名称", "LT8401雨水池液位");
                xinxi2.put("实时●数值", "2.09");
                xinxi2.put("单位", "m");
                xinxi2.put("低低报", "-");
                xinxi2.put("低报", "-");
                xinxi2.put("高报", "2");
                xinxi2.put("高高报", "-");
                xinxi2.put("量程下限", "0");
                xinxi2.put("量程上限", "10");
                xinxi2.put("位号", "SCADA_A_LT8401");
                xinxi2.put("issue", "true");
                Array.add(xinxi2);
                jishuichi2.put("所属区域名称", "应急水池站");
                jishuichi2.put("集水池液位", "3.42m");
                Array3.add(jishuichi2);
            } else if (value.equals("HDPE装置")) {
                xinxi3.put("所属区域名称", "HDPE装置");
                xinxi3.put("设备名称", "油气回收装置");
                xinxi3.put("指标名称", "TE201F供油泵温度");
                xinxi3.put("实时●数值", "1.94");
                xinxi3.put("单位", "℃");
                xinxi3.put("低低报", "-");
                xinxi3.put("低报", "-");
                xinxi3.put("高报", "43.5");
                xinxi3.put("高高报", "-");
                xinxi3.put("量程下限", "0");
                xinxi3.put("量程上限", "100");
                xinxi3.put("位号", "YQHS_A_TE201F");
                xinxi3.put("issue", "false");
                Array.add(xinxi3);
                jishuichi3.put("所属区域名称", "HDPE装置");
                jishuichi3.put("集水池液位", "3.12m");
                Array3.add(jishuichi3);
            }
            if (message.contains("集水池")) {
                jsonObject3.put("array", Array3);
                WebSocketTest.sendInfo(jsonObject3.toJSONString(), "connect");
            } else if (message.contains("消防火灾区域名称")) {
                jsonObject.put("array", Array);
                WebSocketTest.sendInfo(jsonObject.toJSONString(), "connect");
            }
        }
    }

    private void fireHydrant(String serialNumber) throws IOException {
        JSONObject jsonObject = new JSONObject();
        JSONObject xinxi = new JSONObject();
        JSONArray Array = new JSONArray();
        jsonObject.put("instruction", "xiaofangshuan");
        if (serialNumber.equals("0001号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0001号室外高压消防栓");
        } else if (serialNumber.equals("0002号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0002号室外高压消防栓");
        } else if (serialNumber.equals("0002号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0003号室外高压消防栓");
        } else if (serialNumber.equals("0002号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0003号室外高压消防栓");
        } else if (serialNumber.equals("0003号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0003号室外高压消防栓");
        } else if (serialNumber.equals("0004号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0004号室外高压消防栓");
        } else if (serialNumber.equals("0005号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0005号室外高压消防栓");
        } else if (serialNumber.equals("0006号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0006号室外高压消防栓");
        } else if (serialNumber.equals("0007号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0007号室外高压消防栓");
        } else if (serialNumber.equals("0008号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0008号室外高压消防栓");
        } else if (serialNumber.equals("0009号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0009号室外高压消防栓");
        } else if (serialNumber.equals("0010号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0010号室外高压消防栓");
        } else if (serialNumber.equals("0011号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0011号室外高压消防栓");
        } else if (serialNumber.equals("0012号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0012号室外高压消防栓");
        } else if (serialNumber.equals("0013号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0013号室外高压消防栓");
        } else if (serialNumber.equals("0014号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0014号室外高压消防栓");
        } else if (serialNumber.equals("0015号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0015号室外高压消防栓");
        } else if (serialNumber.equals("0016号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0016号室外高压消防栓");
        } else if (serialNumber.equals("0017号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0017号室外高压消防栓");
        } else if (serialNumber.equals("0018号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0018号室外高压消防栓");
        } else if (serialNumber.equals("0019号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0019号室外高压消防栓");
        } else if (serialNumber.equals("0020号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0020号室外高压消防栓");
        } else if (serialNumber.equals("0021号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0021号室外高压消防栓");
        } else if (serialNumber.equals("0022号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0022号室外高压消防栓");
        } else if (serialNumber.equals("0023号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0023号室外高压消防栓");
        } else if (serialNumber.equals("0024号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0024号室外高压消防栓");
        } else if (serialNumber.equals("0025号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0025号室外高压消防栓");
        } else if (serialNumber.equals("0026号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0026号室外高压消防栓");
        } else if (serialNumber.equals("0027号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0027号室外高压消防栓");
        } else if (serialNumber.equals("0028号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0028号室外高压消防栓");
        } else if (serialNumber.equals("0029号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0029号室外高压消防栓");
        } else if (serialNumber.equals("0030号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0030号室外高压消防栓");
        } else if (serialNumber.equals("0031号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0031号室外高压消防栓");
        } else if (serialNumber.equals("0032号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0032号室外高压消防栓");
        } else if (serialNumber.equals("0033号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0033号室外高压消防栓");
        } else if (serialNumber.equals("0034号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0034号室外高压消防栓");
        } else if (serialNumber.equals("0035号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0035号室外高压消防栓");
        } else if (serialNumber.equals("0002号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0002号室外高压消防栓");
        } else if (serialNumber.equals("0002号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0002号室外高压消防栓");
        } else if (serialNumber.equals("0036号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0036号室外高压消防栓");
        } else if (serialNumber.equals("0037号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0037号室外高压消防栓");
        } else if (serialNumber.equals("0038号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0038号室外高压消防栓");
        } else if (serialNumber.equals("0039号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0039号室外高压消防栓");
        } else if (serialNumber.equals("0040号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0040号室外高压消防栓");
        } else if (serialNumber.equals("0041号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0041号室外高压消防栓");
        } else if (serialNumber.equals("0042号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0042号室外高压消防栓");
        } else if (serialNumber.equals("0043号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0043号室外高压消防栓");
        } else if (serialNumber.equals("0044号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0044号室外高压消防栓");
        } else if (serialNumber.equals("0045号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0045号室外高压消防栓");
        } else if (serialNumber.equals("0046号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0046号室外高压消防栓");
        } else if (serialNumber.equals("0047号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0047号室外高压消防栓");
        } else if (serialNumber.equals("0048号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0048号室外高压消防栓");
        } else if (serialNumber.equals("0049号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0049号室外高压消防栓");
        } else if (serialNumber.equals("0050号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0050号室外高压消防栓");
        } else if (serialNumber.equals("0051号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0051号室外高压消防栓");
        } else if (serialNumber.equals("0052号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0052号室外高压消防栓");
        } else if (serialNumber.equals("0053号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0053号室外高压消防栓");
        } else if (serialNumber.equals("0054号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0054号室外高压消防栓");
        } else if (serialNumber.equals("0055号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0055号室外高压消防栓");
        } else if (serialNumber.equals("0056号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0056号室外高压消防栓");
        } else if (serialNumber.equals("0057号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0057号室外高压消防栓");
        } else if (serialNumber.equals("0058号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0058号室外高压消防栓");
        } else if (serialNumber.equals("0059号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0059号室外高压消防栓");
        } else if (serialNumber.equals("0060号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0060号室外高压消防栓");
        } else if (serialNumber.equals("0061号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0061号室外高压消防栓");
        } else if (serialNumber.equals("0062号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0062号室外高压消防栓");
        } else if (serialNumber.equals("0063号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0063号室外高压消防栓");
        } else if (serialNumber.equals("0064号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0064号室外高压消防栓");
        } else if (serialNumber.equals("0065号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0065号室外高压消防栓");
        } else if (serialNumber.equals("0066号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0066号室外高压消防栓");
        } else if (serialNumber.equals("0067号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0067号室外高压消防栓");
        } else if (serialNumber.equals("0068号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0068号室外高压消防栓");
        } else if (serialNumber.equals("0066号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0066号室外高压消防栓");
        } else if (serialNumber.equals("0070号室外高压消防栓")) {
            xinxi.put("名称", "消防栓");
            xinxi.put("编号", "0070号室外高压消防栓");
        }
        jsonObject.put("array", Array);
        WebSocketTest.sendInfo(jsonObject.toJSONString(), "connect");
    }
}
